<?
class bewonersgroepenController extends secured_admin_action{

	public function indexAction(){
	
		require_once('./application/models/bewonersgroepModel.php');
		
		
		$this -> view -> setTpl('bewonersgroepen_overzicht.php');
		$this -> view -> addStyle(view::PATH_TO_STYLE.'bewonersgroepen.css');
		$this -> view -> beheerder = true;
		
		$model = bewonersgroepModel::getInstance($this -> conn);
		
		
		
		
		if(!is_numeric($this -> request -> getParam(0))){
		
			if($this -> request -> getParam(1) != NULL){
			$page = $this -> request -> getParam(1);
			}else{
			$page = 0;
			}
			$list = new user_edit_list($model -> getBewonersgroepenByFirstLetter($this -> request -> getParam(0)), 20);	
		
		}else{
		
		if($this -> request -> getParam(0) != NULL){
			$page = $this -> request -> getParam(0);
		}else{
			$page = 0;
		}
		
		$list = new user_edit_list($model -> getBewonersgroepen(), 20);
		}
		
		$list -> setUrl('/beheerder/bewonersgroepen');
		$this -> view -> bewList = $list -> renderPage($page);
		
		
		$this -> view -> itemList = $list -> renderPage($page);
		
		if($list -> getNextPage() != NULL){
			
			$this -> view -> nextLink = $list -> getNextPage();
		}
		if($list -> getPrevPage() != NULL){
	
			$this -> view -> prevLink = $list -> getPrevPage();
		}
		
		
		$this -> view -> render();
	
	} 

	/*
		toevoegen van bewonersgroepen
		@author	Jelle Versele
	*/
	public function toevoegenAction(){
		
		// tpl instellen
		$this -> view -> setTpl('beheerder_bewonersgroepen_toevoegen.php');
		$this -> view -> addStyle(view::PATH_TO_STYLE.'beheerder.css');
		
		// formulier aanmaken
		$form = new form('frm_bewgroep_toevoegen', form::POST);
		
		// elementen aanmaken
		$titel = new form_element_textField('frm_bewgroep_title');
		$verant = new form_element_textField('frm_bewgroep_verantwoordelijke');
		$locatie = new form_element_listBox('frm_bewgroep_locatie');
		$gebnaam = new form_element_textField('frm_bewgroep_gebruikersnaam');
		$email = new form_element_textField('frm_bewgroep_email');
		$btn = new form_element_button('frm_send');

		
		// validate regels
		
		$locatie	-> addRule('notNull', 'Je moet een locatie opgeven');
		$email 		-> addRule('email', 'Je hebt een ongeldig emailadres ingevoerd');
		
		$titel 		-> addRule('minMax', 'De titel moet minimum 5 en mag maximum 100 karakters tellen', array(5,100));
		$verant 	-> addRule('notNull', 'Je moet een verantwoordelijke invullen');
		$gebnaam 	-> addRule('minMax', 'De gebruikersnaam moet minimum 3 en mag maximum 100 karakters tellen', array(3,100));
		$gebnaam 	-> addRule('isInDb', 'Deze gebruikersnaam is al bezet', array(
																					'conn' 	=>	$this -> conn, 
																					'table'	=>	"gebruikers",
																					'fieldName'	=>	"geb_naam"
																					));
		$titel 	-> addRule('isInDb', 'Deze bewonersgroeptitel bestaat al', array(
																					'conn' 	=>	$this -> conn, 
																					'table'	=>	"bewonersgroep",
																					'fieldName'	=>	"bew_titel"
																				));

		// lisbox opvullen 
		
		$locaties = array('merksem', 'deurne', 'hoboken', 'borgerhout', 'wilrijk', 'antwerpen', 'ekeren', 'brasschaat','schoten', 'zwijndrecht');
		
		foreach($locaties as $loc){
			
			$locatie -> add($loc, $loc);
		
		}
		
		// labels
		$titel -> addLabel('Titel:');
		$verant -> addLabel('Verantwoordelijke:');
		$gebnaam -> addLabel('Gebruikersnaam:');
		$email -> addLabel('email:');
		$locatie -> addLabel('Locatie');
		
		// button text 
		$btn -> setValue('Aanmaken');
		
		// alle elementen toevoegen
		$form -> addElementRange(array($titel,$verant,$locatie,$gebnaam,$email,$btn));
		
		if($form -> isSend()){
				
		
				
				if($form -> isValid()){
					
					// nieuwe bewonersgroep initialiseren ...
					$bewGroep = new user_bewonersgroep($this -> conn);
					
					// gegevens opvullen
					$bewGroep -> titel = $titel -> getSend();
					$bewGroep -> verantwoordelijke = $verant -> getSend();
					$bewGroep -> name = $gebnaam -> getSend();
					$bewGroep -> email = $email -> getSend();
					$bewGroep -> locatie = $locatie -> getSend();
					
					// in de db steken
				
					$bewGroep -> add();
					
					$this -> view -> succes = true;
					$this -> view -> bewPas = $bewGroep -> password;
					$this -> view -> bewName = $bewGroep -> name;
						
					
				
				}else{
					
					$titel -> setValue($titel -> getSend());
					$verant -> setValue($verant -> getSend());
					$gebnaam -> setValue($gebnaam -> getSend());
					$email -> setValue($email -> getSend());
					$this -> view -> errors = $form -> getErrors();
					
				}
				
		
		
		
		
		}
		
		
		// formulier doorgeven aan de view
		$this -> view -> form = $form;
		
		$this -> view -> render();
	
	}
	
	
	public function verwijderenAction(){
	
		$this -> view -> setTpl('gebruiker_items_verwijderen.php');
		$this -> view -> action = "Bewonersgroep verwijderen";
		$this -> view -> beheerder = true;
		$this -> view -> id = $this -> request -> getParam(0);
			
		
		$this -> view -> render();
	
	
	
	}
	
	
	
	public function verwijderAction(){
	
		$model = userModel::getInstance($this -> conn);
		
		$model -> delete($this -> request -> getParam(0));
		$this -> redirect('/beheerder/bewonersgroepen/');
		
	
	}
	public function rechtenAction(){
		$this -> view -> setTpl('gebruiker_items.php');
		$this -> view -> action='rechten aanpassen';
		$this -> view -> module = "bewonersgroepen";
		
		require_once('./application/models/bewonersgroepModel.php');
		
		$model = bewonersgroepModel::getInstance($this -> conn);
		
		$form = new form('frm_rechten',form::POST);
		$rechten = new form_element_listBox('frm_album');
		$btn = new form_element_button('frm_submit');
		
		$bewGroep = new user_bewonersgroep($this -> conn);
		$bewGroep -> id = $this -> request -> getParam(0);
		$bewGroep -> fill();
		$this -> view -> id = '';
		
		$rechten -> addLabel('Rechten: ');
		$rechten -> add('Beginner', 0);
		$rechten -> add('Standaard',1);
		$rechten -> add('Gevorderde',2);
		
		$rechten -> setValue($bewGroep -> rechten);
		
		$form -> addElementRange(array($rechten,$btn));
		$this -> view -> form = $form;
		if($form -> isSend()){
			$model -> updateRechten($this -> request -> getParam(0),$rechten -> getSend());
			$this -> redirect('/beheerder/bewonersgroepen/');
			

			
			
			}
		
		$this -> view -> render();
		
		}
		
	public function paswoordAction(){
		$this -> view -> setTpl('beheerder_password_wijzigen.php');
	
		$this -> view -> addStyle(view::PATH_TO_STYLE.'beheerder.css');
		
		$this -> view -> action = "Wachtwoord wijzigen";
		$this -> view -> module = "wachtwoord";
			
		
		$this -> view -> id = $this -> request -> getParam(0);
			
		$this -> view -> render();
		
		
	}
	public function wijzigenAction(){
		$this -> view -> setTpl('beheerder_password_wijzigen.php');
	
		$this -> view -> addStyle(view::PATH_TO_STYLE.'beheerder.css');
		
		$bewGroep = new user_bewonersgroep($this -> conn);
		$bewGroep -> id = $this -> request -> getParam(0);
		

		$bewGroep -> password = $bewGroep -> generateNewPas();
		
		$bewGroep -> updatePass();
		
		$this -> view -> nieuw = $bewGroep -> password;
		$this -> view -> render();
		
		
		
		
	}
		
		
		
	
	
	
	

}



?>